function selectionSort(arr) {
  const n = arr.length;
  // [3，2，1, 4]
  for (let i = 0; i < n - 1; i++) {
    // 假设当前索引 i 的元素是最小的
    let minIndex = i;

    // 在未排序部分中找到最小元素的索引
    for (let j = i + 1; j < n; j++) {
      if (arr[j] < arr[minIndex]) {
        minIndex = j;
      }
    }

    // 如果找到的最小元素不在当前位置，交换它们
    if (minIndex !== i) {
      let temp = arr[i];
      arr[i] = arr[minIndex];
      arr[minIndex] = temp;
    }
  }

  return arr;
}

// 示例用法
// const arr = [64, 25, 12, 22, 11];
// console.log("排序前:", arr);
// const sortedArr = selectionSort(arr);
// console.log("排序后:", sortedArr);

function selectionSort1(arr) {
  // [2,3,1,5]
  for (let i = 0; i < arr.length - 1; i++) {
    let index = i;
    // 先找到内层索引
    for (let j = i + 1; j < arr.length; j++) {
      if (arr[j] < arr[index]) {
        index = j;
      }
    }
    // 赋值
    if (index !== i) {
      [arr[i], arr[index]] = [arr[index], arr[i]];
    }
  }
  return arr;
}
const arr1 = [4, 1, 3, 5, 2];
console.log("排序前1:", arr1);
const sortedArr1 = selectionSort1(arr1);
console.log("排序后1:", sortedArr1);
